   5 NT=1;clear ;BC=125;Z=0;P=1;U=0;O=0;goto 150
  10 box 0,40,150,7,2;if P=1CX=8;CY=40
  11 if P=2CX=-65;CY=40
  12 print "#",#1,P,;if (O=18)+(U=18)print " WINS";STOP
  13 if Z=1print " SHOOTS";goto 15
  14 print " HIDES
  15 return 
  20 H=8;V=-40;X=0;Y=0
  28 box H,V,2,2,3
  30 if JX(P)=-1H=H-7;X=X-1;if X<0X=0
  32 if H<8H=8
  35 if JX(P)=1H=H+7;X=X+1;if X>9X=9
  36 if H>71H=71
  37 if JY(P)=-1V=V-8;Y=Y-1;if Y<0Y=0
  38 if V<-40V=-40
  39 if JY(P)=1V=V+8;Y=Y+1;if Y>9Y=9
  40 if V>32V=32
  42 box H,V,2,2,3
  43 if Z=1if TR(P)goto 1260
  44 if Z#1if TR(P)goto 1075
  45 goto 28
  50 H=-70;V=-40;X=0;Y=0
  52 box H,V,2,2,3
  54 if JX(P)=-1H=H-7;X=X-1;if X<0X=0
  55 if H<-70H=-70
  56 if JX(P)=1H=H+7;X=X+1;if X>9X=9
  57 if H>-7H=-7
  58 if JY(P)=-1V=V-8;Y=Y-1;if Y<0Y=0
  59 if V<-40V=-40
  60 if JY(P)=1V=V+8;Y=Y+1;if Y>9Y=9
  61 if V>32V=32
  68 box H,V,2,2,3
  69 if Z#1if TR(P)goto 1075
  70 if Z=1if TR(P)goto 1260
  72 goto 52
 100 P=P+1;if P>2P=1
 105 return 
 150 input "REGULAR (0)   ADVANCED (1)"W
 160 clear ;goto 1000
 199 if W=1print "+",;return 
 200 goto M+200
 201 print "A",;return 
 202 print "B",;return 
 203 print "D",;return 
 204 print "C",;return 
 205 print "S",;return 
 300 H=@(F)div 100;V=RMdiv 10;M=RM
 310 if P=1CX=Hmul 7+8;CY=Vmul 8-40
 320 if P=2CX=Hmul 7-70;CY=Vmul 8-40
 330 return 
 400 &(18)=62;&(19)=29;&(22)=229
 410 for Q=25to 45
 420 NT=0;&(16)=Q
 430 for R=1to 10
 440 next R;next Q
 442 gosub 199
 446 for R=16to 23
 448 &(R)=255;next R
 449 for R=1to 300;next R
 450 for R=255to 200step -1
 451 &(21)=R;&(22)=R;next R
 460 for R=16to 23;&(R)=0;next R
 465 if P=1O=O+1;if O=18goto 10
 467 if P=2U=U+1;if U=18goto 10
 470 return 
1000 for A=-70to -5step 7
1010 for B=-40to 33step 8
1020 box A,B,6,7,1
1025 box A+78,B,6,7,3
1030 next B
1040 next A
1045 if P=3goto 1210
1050 gosub 10
1065 for F=1to 18
1070 if P=1goto 50
1073 if P=2goto 20
1075 CX=H;CY=V
1078 if PX(CX,CY+2)=0goto 1070
1080 if F<6print "A",;A=1;E=A
1090 if F>5if F<10print "B",;B=2;E=B
1100 if F>9if F<14print "D",;D=3;E=D
1110 if F>13if F<17print "C",;C=4;E=C
1120 if F>16if F<19print "S",;S=5;E=S
1122 if P=1@(F)=Xmul 100+Ymul 10+E
1125 if P=2@(F+20)=Xmul 100+Ymul 10+E
1130 next F
1200 P=P+1;clear ;goto 1000
1210 Z=1;gosub 100;gosub 10
1220 if P=1for K=41to 43
1230 if P=2for K=44to 46
1240 if P=1goto 20
1250 if P=2goto 50
1260 CX=H;CY=V;print "*",
1265 @(K)=Xmul 100+Ymul 10
1270 next K
1280 if P=1for K=41to 43
1290 if P=2for K=44to 46
1300 if P=1for F=21to 38
1310 if P=2for F=1to 18
1315 gosub 300
1320 if @(K)=@(F)div 10mul 10gosub 400
1340 NT=1;next F
1350 next K
1400 goto 1210
:return ;run 